<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>os_vms - Vim Documentation</title>
<meta name="Generator" content="Vim/8.0">
<meta name="plugin-version" content="vim8.0">
<meta name="syntax" content="help">
<meta name="settings" content="no_pre,use_css,expand_tabs">
<link rel="stylesheet" href="style.css" type="text/css" />

<script src="jquery.min.js" type="text/javascript"></script>
<script src="mark-current-page.js" type="text/javascript"></script>
</head>

<body>

<header>

<div class="header">
  <a href="http://vim-jp.org/">vim-jp</a>
  / <a href="http://vim-jp.org/vimdoc-en/">vimdoc-en</a>
  / os_vms<br />
  <a name="top"></a><h1>os_vms - Vim Documentation</h1>
  <a href="index.html">Return to main</a>

  <span class="EnglishJapaneseLink">
    <span class="CurrentLanguage">English</span>
  </span>
</div>
</header>

<nav>
<dl>

<dt>BASIC</dt>
<dd><ul>
<li><a href="quickref.html">quickref</a></li>
<li><a href="sponsor.html">sponsor</a></li>
</ul></dd>

<dt>USER MANUAL</dt>
<dd><ul>
<li><a href="usr_toc.html">usr_toc</a></li>
</ul></dd>

<dt>Getting Started</dt>
<dd><ul>
<li><a href="usr_01.html">usr_01</a></li>
<li><a href="usr_02.html">usr_02</a></li>
<li><a href="usr_03.html">usr_03</a></li>
<li><a href="usr_04.html">usr_04</a></li>
<li><a href="usr_05.html">usr_05</a></li>
<li><a href="usr_06.html">usr_06</a></li>
<li><a href="usr_07.html">usr_07</a></li>
<li><a href="usr_08.html">usr_08</a></li>
<li><a href="usr_09.html">usr_09</a></li>
<li><a href="usr_10.html">usr_10</a></li>
<li><a href="usr_11.html">usr_11</a></li>
<li><a href="usr_12.html">usr_12</a></li>
</ul></dd>

<dt>Editing Effectively</dt>
<dd><ul>
<li><a href="usr_20.html">usr_20</a></li>
<li><a href="usr_21.html">usr_21</a></li>
<li><a href="usr_22.html">usr_22</a></li>
<li><a href="usr_23.html">usr_23</a></li>
<li><a href="usr_24.html">usr_24</a></li>
<li><a href="usr_25.html">usr_25</a></li>
<li><a href="usr_26.html">usr_26</a></li>
<li><a href="usr_27.html">usr_27</a></li>
<li><a href="usr_28.html">usr_28</a></li>
<li><a href="usr_29.html">usr_29</a></li>
<li><a href="usr_30.html">usr_30</a></li>
<li><a href="usr_31.html">usr_31</a></li>
<li><a href="usr_32.html">usr_32</a></li>
</ul></dd>

<dt>Tuning Vim</dt>
<dd><ul>
<li><a href="usr_40.html">usr_40</a></li>
<li><a href="usr_41.html">usr_41</a></li>
<li><a href="usr_42.html">usr_42</a></li>
<li><a href="usr_43.html">usr_43</a></li>
<li><a href="usr_44.html">usr_44</a></li>
<li><a href="usr_45.html">usr_45</a></li>
</ul></dd>

<dt>Making Vim Run</dt>
<dd><ul>
<li><a href="usr_90.html">usr_90</a></li>
</ul></dd>

<dt>General subjects</dt>
<dd><ul>
<li><a href="intro.html">intro</a></li>
<li><a href="index.html">help</a></li>
<li><a href="helphelp.html">helphelp</a></li>
<li><a href="vimindex.html">index</a></li>
<li><a href="tags.html">tags</a></li>
<li><a href="howto.html">howto</a></li>
<li><a href="tips.html">tips</a></li>
<li><a href="message.html">message</a></li>
<li><a href="quotes.html">quotes</a></li>
<li><a href="todo.html">todo</a></li>
<li><a href="debug.html">debug</a></li>
<li><a href="develop.html">develop</a></li>
<li><a href="uganda.html">uganda</a></li>
</ul></dd>

<dt>Basic editing</dt>
<dd><ul>
<li><a href="starting.html">starting</a></li>
<li><a href="editing.html">editing</a></li>
<li><a href="motion.html">motion</a></li>
<li><a href="scroll.html">scroll</a></li>
<li><a href="insert.html">insert</a></li>
<li><a href="change.html">change</a></li>
<li><a href="indent.html">indent</a></li>
<li><a href="undo.html">undo</a></li>
<li><a href="repeat.html">repeat</a></li>
<li><a href="visual.html">visual</a></li>
<li><a href="various.html">various</a></li>
<li><a href="recover.html">recover</a></li>
</ul></dd>

<dt>Advanced editing</dt>
<dd><ul>
<li><a href="cmdline.html">cmdline</a></li>
<li><a href="options.html">options</a></li>
<li><a href="pattern.html">pattern</a></li>
<li><a href="map.html">map</a></li>
<li><a href="tagsrch.html">tagsrch</a></li>
<li><a href="quickfix.html">quickfix</a></li>
<li><a href="windows.html">windows</a></li>
<li><a href="tabpage.html">tabpage</a></li>
<li><a href="syntax.html">syntax</a></li>
<li><a href="spell.html">spell</a></li>
<li><a href="diff.html">diff</a></li>
<li><a href="autocmd.html">autocmd</a></li>
<li><a href="filetype.html">filetype</a></li>
<li><a href="eval.html">eval</a></li>
<li><a href="channel.html">channel</a></li>
<li><a href="fold.html">fold</a></li>
</ul></dd>

<dt>Special issues</dt>
<dd><ul>
<li><a href="print.html">print</a></li>
<li><a href="remote.html">remote</a></li>
<li><a href="term.html">term</a></li>
<li><a href="digraph.html">digraph</a></li>
<li><a href="mbyte.html">mbyte</a></li>
<li><a href="mlang.html">mlang</a></li>
<li><a href="arabic.html">arabic</a></li>
<li><a href="farsi.html">farsi</a></li>
<li><a href="hebrew.html">hebrew</a></li>
<li><a href="russian.html">russian</a></li>
<li><a href="ft_ada.html">ft_ada</a></li>
<li><a href="ft_sql.html">ft_sql</a></li>
<li><a href="hangulin.html">hangulin</a></li>
<li><a href="rileft.html">rileft</a></li>
</ul></dd>

<dt>GUI</dt>
<dd><ul>
<li><a href="gui.html">gui</a></li>
<li><a href="gui_w32.html">gui_w32</a></li>
<li><a href="gui_x11.html">gui_x11</a></li>
</ul></dd>

<dt>Interfaces</dt>
<dd><ul>
<li><a href="if_cscop.html">if_cscop</a></li>
<li><a href="if_lua.html">if_lua</a></li>
<li><a href="if_mzsch.html">if_mzsch</a></li>
<li><a href="if_perl.html">if_perl</a></li>
<li><a href="if_pyth.html">if_pyth</a></li>
<li><a href="if_tcl.html">if_tcl</a></li>
<li><a href="if_ole.html">if_ole</a></li>
<li><a href="if_ruby.html">if_ruby</a></li>
<li><a href="debugger.html">debugger</a></li>
<li><a href="workshop.html">workshop</a></li>
<li><a href="netbeans.html">netbeans</a></li>
<li><a href="sign.html">sign</a></li>
</ul></dd>

<dt>Versions</dt>
<dd><ul>
<li><a href="vi_diff.html">vi_diff</a></li>
<li><a href="version4.html">version4</a></li>
<li><a href="version5.html">version5</a></li>
<li><a href="version6.html">version6</a></li>
<li><a href="version7.html">version7</a></li>
<li><a href="version8.html">version8</a></li>
</ul></dd>

<dt>Remarks about specific systems</dt>
<dd><ul>
<li><a href="os_390.html">os_390</a></li>
<li><a href="os_amiga.html">os_amiga</a></li>
<li><a href="os_beos.html">os_beos</a></li>
<li><a href="os_dos.html">os_dos</a></li>
<li><a href="os_mac.html">os_mac</a></li>
<li><a href="os_mint.html">os_mint</a></li>
<li><a href="os_msdos.html">os_msdos</a></li>
<li><a href="os_os2.html">os_os2</a></li>
<li><a href="os_qnx.html">os_qnx</a></li>
<li><a href="os_risc.html">os_risc</a></li>
<li><a href="os_unix.html">os_unix</a></li>
<li><a href="os_vms.html">os_vms</a></li>
<li><a href="os_win32.html">os_win32</a></li>
</ul></dd>

<dt>Standard plugins</dt>
<dd><ul>
<li><a href="pi_getscript.html">pi_getscript</a></li>
<li><a href="pi_gzip.html">pi_gzip</a></li>
<li><a href="pi_logipat.html">pi_logipat</a></li>
<li><a href="pi_netrw.html">pi_netrw</a></li>
<li><a href="pi_paren.html">pi_paren</a></li>
<li><a href="pi_tar.html">pi_tar</a></li>
<li><a href="pi_vimball.html">pi_vimball</a></li>
<li><a href="pi_zip.html">pi_zip</a></li>
</ul></dd>

<dt>Filetype plugins</dt>
<dd><ul>
<li><a href="pi_spec.html">pi_spec</a></li>
</ul></dd>

<dt>Others</dt>
<dd><ul>
<li><a href="vim_faq.html">vim_faq</a></li>
</ul></dd>

</dl>
</nav>

<article class="Vimdoc VimdocJa">
<div id='vimCodeElement'>
<a class="Constant" href="os_vms.html" name="os_vms.txt">os_vms.txt</a>&nbsp;&nbsp;&nbsp;&nbsp;For&nbsp;<span class="Identifier">Vim version 8.0.</span>&nbsp;&nbsp;Last change: 2014 Aug 29<br>
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Identifier">VIM REFERENCE MANUAL</span><br>
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="os_vms.html#VMS" name="VMS">VMS</a>&nbsp;<a class="Constant" href="os_vms.html#vms" name="vms">vms</a><br>
This file contains the particularities for the VMS version of Vim.<br>
You can reach this information file by typing :help VMS in Vim command<br>
prompt.<br>
<br>
&nbsp;1. Getting started&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="os_vms.html#vms-started">vms-started</a><br>
&nbsp;2. Download files&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="os_vms.html#vms-download">vms-download</a><br>
&nbsp;3. Compiling&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="os_vms.html#vms-compiling">vms-compiling</a><br>
&nbsp;4. Problems&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="os_vms.html#vms-problems">vms-problems</a><br>
&nbsp;5. Deploy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="os_vms.html#vms-deploy">vms-deploy</a><br>
&nbsp;6. Practical usage&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="os_vms.html#vms-usage">vms-usage</a><br>
&nbsp;7. GUI mode questions&nbsp;&nbsp;<a class="Identifier" href="os_vms.html#vms-gui">vms-gui</a><br>
&nbsp;8. Useful notes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="os_vms.html#vms-notes">vms-notes</a><br>
&nbsp;9. VMS related changes&nbsp;<a class="Identifier" href="os_vms.html#vms-changes">vms-changes</a><br>
10. Authors&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Identifier" href="os_vms.html#vms-authors">vms-authors</a><br>
<br>
<span class="PreProc">==============================================================================</span><br>
<br>
1. Getting started&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="os_vms.html#vms-started" name="vms-started">vms-started</a><br>
<br>
Vim (Vi IMproved) is a Vi-compatible text editor that runs on nearly every<br>
operating system known to humanity.&nbsp;&nbsp;Now use Vim on OpenVMS too, in character<br>
or X/Motif environment.&nbsp;&nbsp;It is fully featured and absolutely compatible with<br>
Vim on other operating systems.<br>
<br>
<span class="PreProc">==============================================================================</span><br>
<br>
2. Download files&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="os_vms.html#vms-download" name="vms-download">vms-download</a><br>
<br>
You can download the Vim source code by ftp from the official Vim site:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant">ftp://ftp.vim.org/pub/vim/</span><br>
Or use one of the mirrors:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant">ftp://ftp.vim.org/pub/vim/MIRRORS</span><br>
<br>
You can download precompiled executables from:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant"><a href="http://www.polarhome.com/vim/">http://www.polarhome.com/vim/</a></span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="Constant">ftp://ftp.polarhome.com/pub/vim/</span><br>
<br>
To use the precompiled binary version, you need one of these archives:<br>
<br>
&nbsp;&nbsp;vim-XX-exe-ia64-gui.zip&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IA64 GUI/Motif executables<br>
&nbsp;&nbsp;vim-XX-exe-ia64-gtk.zip&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IA64 GUI/GTK executables<br>
&nbsp;&nbsp;vim-XX-exe-ia64-term.zip&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IA64 console executables<br>
&nbsp;&nbsp;vim-XX-exe-axp-gui.zip&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Alpha GUI/Motif executables<br>
&nbsp;&nbsp;vim-XX-exe-axp-gtk.zip&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Alpha GUI/GTK executables<br>
&nbsp;&nbsp;vim-XX-exe-axp-term.zip&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Alpha console executables<br>
&nbsp;&nbsp;vim-XX-exe-vax-gui.zip&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;VAX GUI executables<br>
&nbsp;&nbsp;vim-XX-exe-vax-term.zip&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VAX console executables<br>
<br>
and of course (optional)<br>
&nbsp;&nbsp;vim-XX-runtime.zip&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;runtime files<br>
<br>
The binary archives contain: vim.exe, ctags.exe, xxd.exe files.<br>
<br>
For GTK executables you will need GTKLIB that is available for<br>
Alpha and IA64 platform.<br>
<br>
<span class="PreProc">==============================================================================</span><br>
<br>
3. Compiling&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="os_vms.html#vms-compiling" name="vms-compiling">vms-compiling</a><br>
<br>
See the file [.SRC]INSTALLVMS.TXT.<br>
<br>
<span class="PreProc">==============================================================================</span><br>
<br>
4. Problems&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="os_vms.html#vms-problems" name="vms-problems">vms-problems</a><br>
<br>
The code has been tested under Open VMS 6.2 - 8.2 on Alpha, VAX and IA64<br>
platforms with the DEC C compiler.&nbsp;&nbsp;It should work without big problems.<br>
If your system does not have some include libraries you can tune up in<br>
OS_VMS_CONF.H file.<br>
<br>
If you decided to build Vim with +perl, +python, etc. options, first you need<br>
to download OpenVMS distributions of Perl and Python.&nbsp;&nbsp;Build and deploy the<br>
libraries and change adequate lines in MAKE_VMS.MMS file.&nbsp;&nbsp;There should not be<br>
a problem from Vim side.<br>
<br>
Also GTK, XPM library paths should be configured in MAKE_VMS.MMS<br>
<br>
<span class="Todo">Note</span>: Under VAX it should work with the DEC C compiler without problems.&nbsp;&nbsp;The<br>
VAX C compiler is not fully ANSI C compatible in pre-processor directives<br>
semantics, therefore you have to use a converter program that will do the lion<br>
part of the job.&nbsp;&nbsp;For detailed instructions read file INSTALLvms.txt<br>
<br>
MMS_VIM.EXE is build together with VIM.EXE, but for XXD.EXE you should<br>
change to a subdirectory and build it separately.<br>
<br>
CTAGS is not part of the Vim source distribution anymore, however the OpenVMS<br>
specific source might contain CTAGS source files as described above.<br>
You can find more information about CTAGS on VMS at<br>
<span class="Constant"><a href="http://www.polarhome.com/ctags/">http://www.polarhome.com/ctags/</a></span><br>
<br>
Advanced users may try some acrobatics in FEATURE.H file as well.<br>
<br>
It is possible to compile with +xfontset +xim options too, but then you have<br>
to set up GUI fonts etc. correctly.&nbsp;&nbsp;See :help xim from Vim command prompt.<br>
<br>
You may want to use GUI with GTK icons, then you have to download and install<br>
GTK for OpenVMS or at least runtime shareable images - LIBGTK from<br>
polarhome.com<br>
<br>
For more advanced questions, please send your problem to Vim on VMS mailing<br>
list &lt;vim-vms@polarhome.com&gt;<br>
More about the vim-vms list can be found at:<br>
<span class="Constant"><a href="http://www.polarhome.com/mailman/listinfo/vim-vms">http://www.polarhome.com/mailman/listinfo/vim-vms</a></span><br>
<br>
<span class="PreProc">==============================================================================</span><br>
<br>
5. Deploy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="os_vms.html#vms-deploy" name="vms-deploy">vms-deploy</a><br>
<br>
Vim uses a special directory structure to hold the document and runtime files:<br>
<br>
&nbsp;&nbsp; vim (or wherever)<br>
&nbsp;&nbsp;&nbsp;&nbsp;|- tmp<br>
&nbsp;&nbsp;&nbsp;&nbsp;|- vim57<br>
&nbsp;&nbsp;&nbsp;&nbsp;|----- doc<br>
&nbsp;&nbsp;&nbsp;&nbsp;|----- syntax<br>
&nbsp;&nbsp;&nbsp;&nbsp;|- vim62<br>
&nbsp;&nbsp;&nbsp;&nbsp;|----- doc<br>
&nbsp;&nbsp;&nbsp;&nbsp;|----- syntax<br>
&nbsp;&nbsp;&nbsp;&nbsp;|- vim64<br>
&nbsp;&nbsp;&nbsp;&nbsp;|----- doc<br>
&nbsp;&nbsp;&nbsp;&nbsp;|----- syntax<br>
&nbsp;&nbsp;&nbsp;&nbsp;vimrc&nbsp;&nbsp;&nbsp;&nbsp;(system rc files)<br>
&nbsp;&nbsp;&nbsp;&nbsp;gvimrc<br>
<br>
Use:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;define/nolog VIM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;device:[path.vim]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;define/nolog VIMRUNTIME device:[path.vim.vim60]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;define/nolog TMP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;device:[path.tmp]</div>
<br>
To get vim.exe to find its document, filetype, and syntax files, and to<br>
specify a directory where temporary files will be located.&nbsp;&nbsp;Copy the &quot;runtime&quot;<br>
subdirectory of the Vim distribution to vimruntime.<br>
<br>
Logicals $VIMRUNTIME and $TMP are optional.<br>
<br>
If $VIMRUNTIME is not set, Vim will guess and try to set up automatically.<br>
Read more about it at :help runtime<br>
<br>
If $TMP is not set, you will not be able to use some functions as CTAGS,<br>
XXD, printing etc. that use temporary directory for normal operation.<br>
The $TMP directory should be readable and writable by the user(s).<br>
The easiest way to set up $TMP is to define a logical:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;define/nolog TMP SYS$SCRATCH</div>
or as:<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;define/nolog TMP SYS$LOGIN</div>
<br>
<span class="PreProc">==============================================================================</span><br>
<br>
6. Practical usage&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="os_vms.html#vms-usage" name="vms-usage">vms-usage</a><br>
<br>
Usually, you want to run just one version of Vim on your system, therefore<br>
it is enough to dedicate one directory for Vim.<br>
Copy the whole Vim runtime directory structure to the deployment position.<br>
Add the following lines to your LOGIN.COM (in SYS$LOGIN directory).<br>
Set up the logical $VIM as:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ define VIM device:&lt;path&gt;</div>
<br>
Set up some symbols:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ ! vi starts Vim in chr. mode.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ vi*m&nbsp;&nbsp;:== mcr VIM:VIM.EXE</div>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ !gvi starts Vim in GUI mode.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ gv*im :== spawn/nowait mcr VIM:VIM.EXE -g</div>
<br>
Please, check the notes for customization and configuration of symbols.<br>
<br>
You may want to create .vimrc and .gvimrc files in your home directory<br>
(SYS$LOGIN) to overwrite default settings.<br>
<br>
The easiest way is just rename example files.&nbsp;&nbsp;You may leave the menu file<br>
(MENU.VIM) and files vimrc and gvimrc in the original $VIM directory.&nbsp;&nbsp;It will<br>
be the default setup for all users, and for users it is enough to just have<br>
their own additions or resetting in their home directory in files .vimrc and<br>
.gvimrc.&nbsp;&nbsp;It should work without problems.<br>
<br>
<span class="Todo">Note</span>: Remember, system rc files (default for all users) don't have a leading<br>
&quot;.&quot;.&nbsp;&nbsp;So, system rc files are:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$VIM:vimrc<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$VIM:gvimrc<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$VIM:menu.vim</div>
<br>
and user customized rc files are:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sys$login:.vimrc<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sys$login:.gvimrc</div>
<br>
You can check that everything is at the right place with the :version command.<br>
<br>
Example LOGIN.COM:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ define/nolog VIM RF10:[UTIL.VIM]<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ vi*m :== mcr VIM:VIM.EXE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ gv*im:== spawn/nowait/input=NLA0 mcr VIM:VIM.EXE -g -GEOMETRY 80x40<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ set disp/create/node=192.168.5.223/trans=tcpip</div>
<br>
<span class="Todo">Note</span>: This set-up should be enough, if you are working on a standalone server or<br>
clustered environment, but if you want to use Vim as an internode editor in<br>
DECNET environment, it will satisfy as well.<br>
You just have to define the &quot;whole&quot; path:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ define VIM &quot;&lt;server_name&gt;[&quot;&quot;user password&quot;&quot;]::device:&lt;path&gt;&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ vi*m :== &quot;mcr VIM:VIM.EXE&quot;</div>
<br>
For example:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ define VIM &quot;PLUTO::RF10:[UTIL.VIM]&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ define VIM &quot;PLUTO&quot;&quot;ZAY mypass&quot;&quot;::RF10:[UTIL.VIM]&quot; ! if passwd required</div>
<br>
You can also use the $VIMRUNTIME logical to point to the proper version of Vim<br>
if you have installed more versions at the same time.&nbsp;&nbsp;If $VIMRUNTIME is not<br>
defined Vim will borrow its value from the $VIM logical.&nbsp;&nbsp;You can find more<br>
information about the $VIMRUNTIME logical by typing :help runtime as a Vim<br>
command.<br>
<br>
System administrators might want to set up a system wide Vim installation,<br>
then add to the SYS$STARTUP:SYLOGICALS.COM<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ define/nolog/sys VIM device:&lt;path&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ define/nolog/sys TMP SYS$SCRATCH</div>
<br>
And to the SYS$STARTUP:SYLOGIN.COM<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ vi*m :== mcr VIM:VIM.EXE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ gv*im:== spawn/nowait/input=NLA0 mcr VIM:VIM.EXE -g -GEOMETRY 80x40</div>
<br>
<br>
It will set up a normal Vim work environment for every user on the system.<br>
<br>
IMPORTANT: Vim on OpenVMS (and on other case insensitive system) command line<br>
parameters are assumed to be lowercase. In order to indicate that a command<br>
line parameter is uppercase &quot;/&quot; sign must be used.<br>
<br>
Examples:<br>
&nbsp;<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vim -R&nbsp;&nbsp;filename&nbsp;&nbsp;! means: -r List swap files and exit<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vim -/r filename&nbsp;&nbsp;! means: -R Readonly mode (like &quot;view&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vim -u&nbsp;&nbsp;&lt;vimrc&gt;&nbsp;&nbsp; ! means: -u Use &lt;vimrc&gt; instead of any .vimrc<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vim -/u &lt;gvimrc&gt;&nbsp;&nbsp;! means: -U Use &lt;gvimrc&gt; instead of any .gvimrc</div>
<br>
<span class="PreProc">==============================================================================</span><br>
<br>
7. GUI mode questions&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="os_vms.html#vms-gui" name="vms-gui">vms-gui</a><br>
<br>
OpenVMS is a real mainframe OS, therefore even if it has a GUI console, most<br>
of the users do not use a native X/Window environment during normal operation.<br>
It is not possible to start Vim in GUI mode &quot;just like that&quot;.&nbsp;&nbsp;But anyhow it<br>
is not too complicated either.<br>
<br>
First of all: you will need an executable that is built with the GUI enabled.<br>
<br>
Second: you need to have installed DECW/Motif on your VMS server, otherwise<br>
you will get errors that some shareable libraries are missing.<br>
<br>
Third: If you choose to run Vim with extra features such as GUI/GTK then you<br>
need a GTK installation too or at least a GTK runtime environment (LIBGTK<br>
can be downloaded from&nbsp;<span class="Constant"><a href="http://www.polarhome.com/vim/">http://www.polarhome.com/vim/</a></span>).<br>
<br>
1) If you are working on the VMS X/Motif console:<br>
&nbsp;&nbsp; Start Vim with the command:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ mc device:&lt;path&gt;VIM.EXE -g</div>
<br>
&nbsp;&nbsp; or type :gui as a command to the Vim command prompt.&nbsp;&nbsp;For more info :help<br>
&nbsp;&nbsp; gui<br>
<br>
2) If you are working on some other X/Window environment like Unix or a remote<br>
&nbsp;&nbsp; X VMS console.&nbsp;&nbsp;Set up display to your host with:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ set disp/create/node=&lt;your IP address&gt;/trans=&lt;transport-name&gt;</div>
<br>
&nbsp;&nbsp; and start Vim as in point 1.&nbsp;&nbsp;You can find more help in VMS documentation or<br>
&nbsp;&nbsp; type: help set disp in VMS prompt.<br>
&nbsp;&nbsp; Examples:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ set disp/create/node=192.168.5.159&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ! default trans is DECnet<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ set disp/create/node=192.168.5.159/trans=tcpip ! TCP/IP network<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ set disp/create/node=192.168.5.159/trans=local ! display on the same node</div>
<br>
<span class="Todo">Note</span>: you should define just one of these.<br>
For more information type $help set disp in VMS prompt.<br>
<br>
3) Another elegant solution is XDM if you have installed on OpenVMS box.<br>
&nbsp;&nbsp; It is possible to work from XDM client as from GUI console.<br>
<br>
4) If you are working on MS-Windows or some other non X/Window environment<br>
&nbsp;&nbsp; you need to set up one X server and run Vim as in point 2.<br>
&nbsp;&nbsp; For MS-Windows there are available free X servers as MIX, Omni X etc.,<br>
&nbsp;&nbsp; as well as excellent commercial products as eXcursion or ReflectionX with<br>
&nbsp;&nbsp; built-in DEC support.<br>
<br>
Please&nbsp;<span class="Todo">note</span>, that executables without GUI are slightly faster during startup<br>
than with enabled GUI in character mode. Therefore, if you do not use GUI<br>
features, it is worth to choose non GUI executables.<br>
<br>
<span class="PreProc">==============================================================================</span><br>
<br>
8. Useful notes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="os_vms.html#vms-notes" name="vms-notes">vms-notes</a><br>
<br>
8.1 Backspace/delete<br>
8.2 Filters<br>
8.3 VMS file version numbers<br>
8.4 Directory conversion<br>
8.5 Remote host invocation<br>
8.6 Terminal problems<br>
8.7 Hex-editing and other external tools<br>
8.8 Sourcing vimrc and gvimrc<br>
8.9 Printing from Vim<br>
8.10 Setting up the symbols<br>
8.11 diff and other GNU programs<br>
8.12 diff-mode<br>
8.13 Allow '$' in C keywords<br>
8.14 VIMTUTOR for beginners<br>
8.15 Slow start in console mode issue<br>
8.16 Common VIM directory - different architectures<br>
<br>
8.1 Backspace/delete<br>
<br>
There are backspace/delete key inconsistencies with VMS.<br>
:fixdel doesn't do the trick, but the solution is:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:inoremap ^? ^H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot; for terminal mode<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:inoremap &lt;Del&gt; ^H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot; for gui mode</div>
<br>
Read more in ch: 8.6 (Terminal problems).<br>
(Bruce Hunsaker &lt;BNHunsaker@chq.byu.edu&gt; Vim 5.3)<br>
<br>
<br>
8.2 Filters<br>
<br>
Vim supports filters, i.e., if you have a sort program that can handle<br>
input/output redirection like Unix (&lt;infile &gt;outfile), you could use<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:map \s 0!'aqsort&lt;CR&gt;</div>
<br>
(Charles E. Campbell, Jr. &lt;cec@gryphon.gsfc.nasa.gov&gt; Vim 5.4)<br>
<br>
<br>
8.3 VMS file version numbers<br>
<br>
Vim is saving files into a new file with the next higher file version<br>
number, try these settings.<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:set nobackup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot; does not create *.*_ backup files<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:set nowritebackup&nbsp;&nbsp; &quot; does not have any purpose on VMS.&nbsp;&nbsp;It's the<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot; default.</div>
<br>
Recovery is working perfectly as well from the default swap file.<br>
Read more with :help swapfile<br>
<br>
(Claude Marinier &lt;ClaudeMarinier@xwavesolutions.com&gt; Vim 5.5, Zoltan Arpadffy<br>
Vim 5.6)<br>
<br>
<br>
8.4 Directory conversion<br>
<br>
Vim will internally convert any unix-style paths and even mixed unix/VMS<br>
paths into VMS style paths.&nbsp;&nbsp;Some typical conversions resemble:<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/abc/def/ghi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt; abc:[def]ghi.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/abc/def/ghi.j&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt; abc:[def]ghi.j<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/abc/def/ghi.j;2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt; abc:[def]ghi.j;2<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/abc/def/ghi/jkl/mno&nbsp;&nbsp;&nbsp;&nbsp;-&gt; abc:[def.ghi.jkl]mno.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;abc:[def.ghi]jkl/mno&nbsp;&nbsp;&nbsp;&nbsp;-&gt; abc:[def.ghi.jkl]mno.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;./&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt; current directory<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;../&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&gt; relative parent directory<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[.def.ghi]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt; relative child directory<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ./def/ghi&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-&gt; relative child directory<br>
<br>
<span class="Todo">Note</span>: You may use &lt;,&gt; brackets as well (device:<span class="Special">&lt;path&gt;</span>file.ext;version) as<br>
rf10:&lt;user.zay.work&gt;test.c;1<br>
<br>
(David Elins &lt;delins@foliage.com&gt;, Jerome Lauret<br>
&lt;JLAURET@mail.chem.sunysb.edu&gt; Vim 5.6)<br>
<br>
<br>
8.5 Remote host invocation<br>
<br>
It is possible to use Vim as an internode editor.<br>
1. Edit some file from remote node:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vi &quot;&lt;server&gt;&quot;&quot;username passwd&quot;&quot;::&lt;device&gt;:&lt;path&gt;&lt;filename&gt;;&lt;version&gt;&quot;</div>
<br>
Example:<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vi &quot;pluto&quot;&quot;zay passwd&quot;&quot;::RF10:&lt;USER.ZAY.WORK&gt;TEST.C;1&quot;</div>
<br>
<span class="Todo">Note</span>: syntax is very important, otherwise VMS will recognize more parameters<br>
instead of one (resulting with: file not found)<br>
<br>
2.&nbsp;&nbsp;Set up Vim as your internode editor.&nbsp;&nbsp;If Vim is not installed on your<br>
host, just set up your IP address, the full Vim path including the server name<br>
and run the command procedure below:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ if (p1 .eqs. &quot;&quot;) .OR. (p2 .eqs. &quot;&quot;) then goto usage<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ set disp/create/node=&lt;your_IP_here&gt;/trans=tcpip<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ define &quot;VIM &quot;&lt;vim_server&gt;&quot;&quot;''p1' ''p2'&quot;&quot;::&lt;device&gt;:&lt;vim_path&gt;&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$&nbsp;&nbsp;vi*m :== &quot;mcr VIM:VIM.EXE&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ gv*im :== &quot;spawn/nowait mcr VIM:VIM.EXE -g&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ goto end<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ usage:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ write sys$output &quot; Please enter username and password as a parameter.&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ write sys$output &quot; Example: @SETVIM.COM username passwd&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ end:</div>
<br>
<span class="Todo">Note</span>: Never use it in a clustered environment (you do not need it), loading<br>
could be very-very slow, but even faster than a local Emacs. :-)<br>
<br>
(Zoltan Arpadffy, Vim 5.6)<br>
<br>
<br>
8.6 Terminal problems<br>
<br>
If your terminal name is not known to Vim and it is trying to find the default<br>
one you will get the following message during start-up:<br>
---<br>
Terminal entry not found in termcap<br>
'unknown-terminal' not known.&nbsp;&nbsp;Available built-in terminals are:<br>
&nbsp;&nbsp;&nbsp;&nbsp;builtin_gui<br>
&nbsp;&nbsp;&nbsp;&nbsp;builtin_riscos<br>
&nbsp;&nbsp;&nbsp;&nbsp;builtin_amiga<br>
&nbsp;&nbsp;&nbsp;&nbsp;builtin_beos-ansi<br>
&nbsp;&nbsp;&nbsp;&nbsp;builtin_ansi<br>
&nbsp;&nbsp;&nbsp;&nbsp;builtin_vt320<br>
&nbsp;&nbsp;&nbsp;&nbsp;builtin_vt52<br>
&nbsp;&nbsp;&nbsp;&nbsp;builtin_pcansi<br>
&nbsp;&nbsp;&nbsp;&nbsp;builtin_win32<br>
&nbsp;&nbsp;&nbsp;&nbsp;builtin_xterm<br>
&nbsp;&nbsp;&nbsp;&nbsp;builtin_iris-ansi<br>
&nbsp;&nbsp;&nbsp;&nbsp;builtin_debug<br>
&nbsp;&nbsp;&nbsp;&nbsp;builtin_dumb<br>
defaulting to 'vt320'<br>
---<br>
The solution is to define the default terminal name:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ ! unknown terminal name.&nbsp;&nbsp;Let us use vt320 or ansi instead.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ ! Note: it's case sensitive<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ define term &quot;vt320&quot;</div>
<br>
Terminals from VT100 to VT320 (as V300, VT220, VT200) do not need any extra<br>
keyboard mappings.&nbsp;&nbsp;They should work perfectly as they are, including arrows,<br>
Ins, Del buttons etc., except Backspace in GUI mode.&nbsp;&nbsp;To solve it, add to<br>
.gvimrc:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inoremap &lt;Del&gt; &lt;BS&gt;</div>
<br>
Vim will also recognize that they are fast terminals.<br>
<br>
If you have some annoying line jumping on the screen between windows add to<br>
your .vimrc file:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set ttyfast&nbsp;&nbsp;&nbsp;&nbsp; &quot; set fast terminal</div>
<br>
<span class="Todo">Note</span>: if you're using Vim on remote host or through a very slow connection, it's<br>
recommended to avoid the fast terminal option with:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set nottyfast&nbsp;&nbsp; &quot; set terminal to slow mode</div>
<br>
(Zoltan Arpadffy, Vim 5.6)<br>
<br>
<br>
8.7 Hex-editing and other external tools<br>
<br>
A very important difference between OpenVMS and other systems is that VMS uses<br>
special commands to execute executables:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RUN &lt;path&gt;filename<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MCR &lt;path&gt;filename &lt;parameters&gt;</div>
<br>
OpenVMS users always have to be aware that the Vim command :! &quot;just&quot; drop them<br>
to DCL prompt.&nbsp;&nbsp;This feature is possible to use without any problem with all<br>
DCL commands, but if we want to execute some programs such as XXD, CTAGS, JTAGS,<br>
etc.&nbsp;&nbsp;we're running into trouble if we follow the Vim documentation (see: help<br>
xxd).<br>
<br>
Solution: Execute with the MC command and add the full path to the executable.<br>
Example: Instead of :%!xxd command use:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:%!mc vim&#0058;xxd</div>
<br>
... or in general:<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:!mc &lt;path&gt;filename &lt;parameters&gt;</div>
<br>
<span class="Todo">Note</span>: You can use XXD and CTAGS from GUI menu.<br>
<br>
To customize ctags it is possible to define the logical $CTAGS with standard<br>
parameters as:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;define/nolog CTAGS &quot;--totals -o sys$login:tags&quot;</div>
<br>
For additional information, please read :help tagsearch and CTAGS<br>
documentation at&nbsp;<span class="Constant"><a href="http://ctags.sourceforge.net/ctags.html">http://ctags.sourceforge.net/ctags.html</a></span>.<br>
<br>
(Zoltan Arpadffy, Vim 5.6-70)<br>
<br>
<br>
8.8 Sourcing vimrc and gvimrc<br>
<br>
If you want to use your .vimrc and .gvimrc from other platforms (e.g. Windows)<br>
you can get in trouble if you ftp that file(s): VMS has different end-of-line<br>
indication.<br>
The symptom is that Vim is not sourcing your .vimrc/.gvimrc, even if you say:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:so sys$login:.vimrc</div>
<br>
One trick is to compress (e.g. zip) the files on the other platform and<br>
uncompress it on VMS; if you have the same symptom, try to create the files<br>
with copy-paste (for this you need both op. systems reachable from one<br>
machine, e.g. an Xterm on Windows or telnet to Windows from VMS).<br>
<br>
(Sandor Kopanyi, &lt;sandor.kopanyi@mailbox.hu&gt; Vim 6.0a)<br>
<br>
<br>
8.9 Printing from Vim<br>
<br>
To be able to print from Vim (running in GUI mode) under VMS you have to set<br>
up $TMP logical which should point to some temporary directory and logical<br>
SYS$PRINT to your default print queue.<br>
Example:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$define SYS$PRINT HP5ANSI</div>
<br>
You can print out the whole buffer or just the marked area.<br>
More info under :help hardcopy<br>
<br>
(Zoltan Arpadffy, Vim 6.0c)<br>
<br>
<br>
8.10 Setting up the symbols<br>
<br>
When I use gvim this way and press&nbsp;<span class="Special">CTRL-Y</span>&nbsp;in the parent terminal, gvim exits.<br>
I now use a different symbol that seems to work OK and fixes the problem.<br>
I suggest this instead:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ GV*IM:==SPAWN/NOWAIT/INPUT=NLA0: MCR VIM:VIM.EXE -G -GEOMETRY 80X40</div>
<br>
The /INPUT=NLA0: separates the standard input of the gvim process from the<br>
parent terminal, to block signals from the parent window.<br>
Without the -GEOMETRY, the gvim window size will be minimal and the menu<br>
will be confused after a window-resize.<br>
<br>
(Carlo Mekenkamp, Coen Engelbarts, Vim 6.0ac)<br>
<br>
<br>
8.11 diff and other GNU programs<br>
<br>
From 6.0 diff functionality has been implemented, but OpenVMS does not use<br>
GNU/Unix like diff therefore built in diff does not work.<br>
There is a simple solution to solve this anomaly.&nbsp;&nbsp;Install a Unix like diff<br>
and Vim will work perfectly in diff mode too.&nbsp;&nbsp;You just have to redefine your<br>
diff program as:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;define /nolog diff &lt;GNU_PATH&gt;diff.exe</div>
<br>
Another, more sophisticated solution is described below (8.12 diff-mode)<br>
There are other programs such as patch, make etc that may cause the same<br>
problems.&nbsp;&nbsp;At&nbsp;<span class="Constant">www.polarhome.com</span>&nbsp;is possible to download an GNU package for<br>
Alpha and VAX boxes that is meant to solve GNU problems on OpenVMS.<br>
(Zoltan Arpadffy, Vim 6.1)<br>
<br>
<br>
8.12 diff-mode<br>
<br>
Vim 6.0 and higher supports Vim diff-mode (See&nbsp;<a class="Identifier" href="version6.html#new-diff-mode">new-diff-mode</a>,&nbsp;<a class="Identifier" href="diff.html#diff-mode">diff-mode</a><br>
and&nbsp;<a class="Identifier" href="usr_08.html#08.7">08.7</a>).&nbsp;&nbsp;This uses the external program&nbsp;<a class="Type" href="options.html#'diff'">'diff'</a>&nbsp;and expects a Unix-like<br>
output format from diff.&nbsp;&nbsp;The standard VMS diff has a different output<br>
format.&nbsp;&nbsp;To use Vim on VMS in diff-mode, you need to:<br>
&nbsp;&nbsp;&nbsp;&nbsp;1 Install a Unix-like diff program, e.g. GNU diff<br>
&nbsp;&nbsp;&nbsp;&nbsp;2 Tell Vim to use the Unix-like diff for diff-mode.<br>
<br>
You can download GNU diff from the VIM-VMS website, it is one of the GNU<br>
tools in&nbsp;<span class="Constant"><a href="http://www.polarhome.com/vim/files/gnu_tools.zip">http://www.polarhome.com/vim/files/gnu_tools.zip</a></span>.&nbsp;&nbsp;I suggest to<br>
unpack it in a separate directory &quot;GNU&quot; and create a logical GNU: that<br>
points to that directory, e.g:<br>
<br>
<div class="helpExample">&nbsp;&nbsp; DEFINE GNU&nbsp;&nbsp;&nbsp;&nbsp;&lt;DISK&gt;:[&lt;DIRECTORY&gt;.BIN.GNU]</div>
<br>
You may also want to define a symbol GDIFF, to use the GNU diff from the DCL<br>
prompt:<br>
<br>
<div class="helpExample">&nbsp;&nbsp; GDIFF :==&nbsp;&nbsp;&nbsp;&nbsp; $GNU:DIFF.EXE</div>
<br>
Now you need to tell Vim to use the new diff program.&nbsp;&nbsp;Take the example<br>
settings from&nbsp;<a class="Identifier" href="diff.html#diff-diffexpr">diff-diffexpr</a>&nbsp;and change the call to the external diff<br>
program to the new diff on VMS.&nbsp;&nbsp;Add this to your .vimrc file:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp; &quot; Set up vimdiff options<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if v:version &gt;= 600<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot; Use GNU diff on VMS<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set diffexpr=MyDiff()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;function MyDiff()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; let opt = &quot;&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if &amp;diffopt =~ &quot;icase&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; let opt = opt . &quot;-i &quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; endif<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if &amp;diffopt =~ &quot;iwhite&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; let opt = opt . &quot;-b &quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; endif<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; silent execute &quot;!mc GNU:diff.exe -a &quot; . opt . v:fname_in . &quot; &quot; .&nbsp;&nbsp;v:fname_new .<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\&nbsp;&nbsp;&quot; &gt; &quot; . v:fname_out<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endfunction<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;endif</div>
<br>
You can now use Vim in diff-mode, e.g. to compare two files in read-only<br>
mode:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;$ VIM -D/R &lt;FILE1&gt; &lt;FILE2&gt;</div>
<br>
You can also define new symbols for vimdiff, e.g.:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;$ VIMDIFF&nbsp;&nbsp;&nbsp;&nbsp; :== 'VIM' -D/R<br>
&nbsp;&nbsp;&nbsp;&nbsp;$ GVIMDIFF&nbsp;&nbsp;&nbsp;&nbsp;:== 'GVIM' -D/R</div>
<br>
You can now compare files in 4 ways:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;1. VMS&nbsp;&nbsp;diff:&nbsp;&nbsp;$ DIFF&nbsp;&nbsp;&nbsp;&nbsp; &lt;FILE1&gt; &lt;FILE2&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;2. GNU&nbsp;&nbsp;diff:&nbsp;&nbsp;$ GDIFF&nbsp;&nbsp;&nbsp;&nbsp;&lt;FILE1&gt; &lt;FILE2&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;3. VIM&nbsp;&nbsp;diff:&nbsp;&nbsp;$ VIMDIFF&nbsp;&nbsp;&lt;FILE1&gt; &lt;FILE2&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;4. GVIM diff:&nbsp;&nbsp;$ GVIMDIFF &lt;FILE1&gt; &lt;FILE2&gt;</div>
<br>
(Coen Engelbarts, Vim 6.1)<br>
<br>
<br>
8.13 Allow '$' in C keywords<br>
<br>
DEC C uses many identifiers with '$' in them.&nbsp;&nbsp;This is not allowed in ANSI C,<br>
and Vim recognises the '$' as the end of the identifier.&nbsp;&nbsp;You can change this<br>
with the&nbsp;<a class="Type" href="options.html#'iskeyword'">'iskeyword'</a>&nbsp;option.<br>
Add this command to your .vimrc file:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;autocmd FileType c,cpp,cs&nbsp;&nbsp;set iskeyword+=$</div>
<br>
You can also create the file(s) $VIM/FTPLUGIN/C.VIM (and/or CPP.VIM and<br>
CS.VIM) and add this command:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set iskeyword+=$</div>
<br>
Now word-based commands, e.g. the '*'-search-command and the&nbsp;<span class="Special">CTRL-]</span><br>
tag-lookup, work on the whole identifier.&nbsp;&nbsp;(Ctags on VMS also supports '$' in<br>
C keywords since ctags version 5.1.)<br>
<br>
(Coen Engelbarts, Vim 6.1)<br>
<br>
8.14 VIMTUTOR for beginners<br>
<br>
The VIMTUTOR.COM DCL script can help Vim beginners to learn/make their first<br>
steps with Vim on OpenVMS.&nbsp;&nbsp;Depending of binary distribution you may start it<br>
with:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@vim:vimtutor</div>
<br>
(Thomas.R.Wyant III, Vim 6.1)<br>
<br>
8.16 Slow start in console mode issue<br>
<br>
As GUI/GTK Vim works equally well in console mode, many administrators<br>
deploy those executables system wide.<br>
Unfortunately, on a remote slow connections GUI/GTK executables behave rather<br>
slow when user wants to run Vim just in the console mode - because of X<br>
environment detection timeout.<br>
<br>
Luckily, there is a simple solution for that. Administrators need to deploy<br>
both GUI/GTK build and just console build executables, like below:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;|- vim73<br>
&nbsp;&nbsp;&nbsp;&nbsp;|----- doc<br>
&nbsp;&nbsp;&nbsp;&nbsp;|----- syntax<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vimrc&nbsp;&nbsp;&nbsp;&nbsp;(system rc files)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gvimrc<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gvim.exe (the renamed GUI or GTK built vim.exe)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vim.exe&nbsp;&nbsp;(the console only executable)</div>
<br>
Define system symbols like below in for ex in LOGIN.COM or SYLOGIN.COM:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ define/nolog VIM RF10:[UTIL.VIM73] ! where you VIM directory is<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ vi*m&nbsp;&nbsp;:== mcr VIM:VIM.EXE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ gvi*m :== mcr VIM:GVIM.EXE<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ ! or you can try to spawn with<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ gv*im :== spawn/nowait/input=NLA0 mcr VIM:GVIM.EXE -g -GEOMETRY 80x40</div>
<br>
<br>
Like this, users that do not have X environment and want to use Vim just in<br>
console mode can avoid performance problems.<br>
<br>
(Zoltan Arpadffy, Vim 7.2)<br>
<br>
8.15 Common VIM directory - different architectures<br>
<br>
In a cluster that contains nodes with different architectures like below:<br>
<br>
$show cluster<br>
View of Cluster from system ID 11655&nbsp;&nbsp;node: TOR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 18-AUG-2008 11:58:31<br>
+---------------------------------+<br>
?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SYSTEMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;? MEMBERS ?<br>
+-----------------------+---------?<br>
?&nbsp;&nbsp;NODE&nbsp;&nbsp;?&nbsp;&nbsp; SOFTWARE&nbsp;&nbsp; ?&nbsp;&nbsp;STATUS ?<br>
+--------+--------------+---------?<br>
? TOR&nbsp;&nbsp;&nbsp;&nbsp;? VMS V7.3-2&nbsp;&nbsp; ? MEMBER&nbsp;&nbsp;?<br>
? TITAN2 ? VMS V8.3&nbsp;&nbsp;&nbsp;&nbsp; ? MEMBER&nbsp;&nbsp;?<br>
? ODIN&nbsp;&nbsp; ? VMS V7.3-2&nbsp;&nbsp; ? MEMBER&nbsp;&nbsp;?<br>
+---------------------------------+<br>
<br>
It is convenient to have a common VIM directory but execute different<br>
executables.<br>
There are several solutions for this problem:<br>
<br>
Solution 1.&nbsp;&nbsp;All executables in the same directory with different names<br>
This is easily done with the following script that can be added<br>
to the login.com or sylogin.com:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ if f$getsyi(&quot;NODE_HWTYPE&quot;) .eqs. &quot;VAX&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; say &quot;VAX platform&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vi*m:== mcr vim&#0058;VIM.EXE_VAX<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ endif<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ if f$getsyi(&quot;NODE_HWTYPE&quot;) .eqs. &quot;ALPH&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; say &quot;ALPHA platform&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vi*m :== mcr vim&#0058;VIM.EXE_AXP<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ endif<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ if f$getsyi(&quot;ARCH_NAME&quot;) .eqs. &quot;IA64&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;say &quot;IA64 platform&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vi*m :== mcr vim&#0058;VIM.EXE_IA64<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ endif</div>
<br>
Solution 2.&nbsp;&nbsp;Different directories:<br>
<br>
<div class="helpExample">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ if f$getsyi(&quot;NODE_HWTYPE&quot;) .eqs. &quot;VAX&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; say &quot;VAX platform&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; define/nolog VIM RF10:[UTIL.VAX_EXE] ! VAX executables<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ endif<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ if f$getsyi(&quot;NODE_HWTYPE&quot;) .eqs. &quot;ALPH&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; say &quot;ALPHA platform&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; define/nolog VIM RF10:[UTIL.AXP_EXE] ! AXP executables<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ endif<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ if f$getsyi(&quot;ARCH_NAME&quot;) .eqs. &quot;IA64&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;say &quot;IA64 platform&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;define/nolog VIM RF10:[UTIL.IA64_EXE] ! IA64 executables<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ endif<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$! VIMRUNTIME must be defined in order to find runtime files<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ define/nolog VIMRUNTIME RF10:[UTIL.VIM73]</div>
<br>
A good example for this approach is the&nbsp;<span class="Special">[GNU]</span>gnu_tools.com script from<br>
GNU_TOOLS.ZIP package downloadable from&nbsp;<span class="Constant"><a href="http://www.polarhome.com/vim/">http://www.polarhome.com/vim/</a></span><br>
<br>
(Zoltan Arpadffy, Vim 7.2)<br>
<br>
<span class="PreProc">==============================================================================</span><br>
<br>
9. VMS related changes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="os_vms.html#vms-changes" name="vms-changes">vms-changes</a><br>
<br>
Version 7.4<br>
- Undo: VMS can not handle more than one dot in the filenames use &quot;dir/name&quot; -&gt; &quot;dir/_un_name&quot;<br>
&nbsp;&nbsp;add _un_ at the beginning to keep the extension<br>
- correct swap file name wildcard handling<br>
- handle iconv usage correctly<br>
- do not optimize on vax - otherwise it hangs compiling crypto files<br>
- fileio.c fix the comment<br>
- correct RealWaitForChar<br>
- after 7.4-119 use different functions lib$cvtf_to_internal_time because Alpha and VAX have<br>
&nbsp;&nbsp;G_FLOAT but IA64 uses IEEE float otherwise Vim crashes<br>
- guard against crashes that are caused by mixed filenames<br>
-&nbsp;<span class="Special">[TESTDIR]</span>make_vms.mms changed to see the output files<br>
- Improve tests, update known issues<br>
- minor compiler warnings fixed<br>
- CTAGS 5.8 +regex included<br>
<br>
Version 7.3<br>
- CTAGS 5.8 included<br>
- VMS compile warnings fixed - floating-point overflow warning corrected on VAX<br>
- filepath completion corrected - too many chars were escaped in filename<br>
&nbsp;&nbsp;and shell commands<br>
- the following plugins are included into VMS runtime:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;genutils 2.4, multiselect 2.2, multvals 3.1, selectbuf 4.3,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bufexplorer 7.1.7, taglist 4.5<br>
- minor changes in vimrc (just in VMS runtime)<br>
- make_vms.mms - HUGE model is the default<br>
-&nbsp;<span class="Special">[TESTDIR]</span>make_vms.mms include as many tests possible<br>
- modify test30 and test54 for VMS<br>
- enable FLOAT feature in VMS port<br>
- os_vms.txt updated<br>
<br>
Version 7.2 (2008 Aug 9)<br>
- VCF files write corrected<br>
- CTAGS 5.7 included<br>
- corrected make_vms.mms (on VAX gave syntax error)<br>
<br>
Version 7.1 (2007 Jun 15)<br>
- create TAGS file from menu<br>
<br>
Version 7 (2006 May 8)<br>
- Improved low level char input (affects just console mode)<br>
- Fixed plugin bug<br>
- CTAGS 5.6 included<br>
<br>
Version 6.4 (2005 Oct 15)<br>
- GTKLIB and Vim build on IA64<br>
- colors in terminal mode<br>
- syntax highlighting in terminal mode<br>
- write problem fixed (extra CR)<br>
- ESC and ESC sequence recognition in terminal mode<br>
- make file changed to support new MMS version<br>
- env variable expansion in path corrected<br>
- printing problems corrected<br>
- help text added for case insensitive arguments<br>
<br>
Version 6.3 (2004 May 10)<br>
- Improved vms_read function<br>
- CTAGS v5.5.4 included<br>
- Documentation corrected and updated<br>
<br>
Version 6.2 (2003 May 7)<br>
- Corrected VMS system call results<br>
- Low level character input is rewritten<br>
- Correction in tag and quickfix handling<br>
- First GTK build<br>
- Make file changes<br>
&nbsp;&nbsp;&nbsp;&nbsp;- GTK feature added<br>
&nbsp;&nbsp;&nbsp;&nbsp;- Define for OLD_VMS<br>
&nbsp;&nbsp;&nbsp;&nbsp;- OpenVMS version 6.2 or older<br>
- Documentation updated with GTK features<br>
- CTAGS v5.5 included<br>
- VMS VIM tutor created<br>
<br>
Version 6.1 (2002 Mar 25)<br>
- TCL init_tcl() problem fixed<br>
- CTAGS v5.4 included<br>
- GNU tools binaries for OpenVMS<br>
- Make file changes<br>
&nbsp;&nbsp;&nbsp;&nbsp;- PERL, PYTHON and TCL support improved<br>
&nbsp;&nbsp;&nbsp;&nbsp;- InstallVMS.txt has a detailed description HOWTO build<br>
- VMS/Unix file handling rewritten<br>
- Minor casting and bug fixes<br>
<br>
Version 6.0 (2001 Sep 28)<br>
- Unix and VMS code has been merged<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- separated &quot;really&quot; VMS related code<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- included all possible Unix functionality<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- simplified or deleted the configuration files<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- makefile MAKE_VMS.MMS reviewed<br>
- menu changes (fixed printing, CTAGS and XXD usage)<br>
- fixed variable RMS record format handling anomaly<br>
- corrected syntax, ftplugin etc files load<br>
- changed expand_wildcards and expandpath functions to work more general<br>
- created OS_VMS_FILTER.COM - DECC-&gt;VAXC pre-processor directive convert<br>
&nbsp;&nbsp;script.<br>
- Improved code's VAXC and new DECC compilers compatibility<br>
- changed quickfix parameters:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- errormessage format to suite DECC<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- search, make and other commands to suite VMS system<br>
- updated and renamed MMS make files for Vim and CTAGS.<br>
- CTAGS has been removed from source distribution of Vim but it will remain<br>
&nbsp;&nbsp;in OpenVMS binary distributions.<br>
- simplified build/configuration procedure<br>
- created INSTALLvms.txt - detailed compiling instructions under VMS.<br>
- updated test scripts.<br>
<br>
Version 5.8 (2001 Jun 1)<br>
- OS_VMS.TXT updated with new features.<br>
- other minor fixes.<br>
- documentation updated<br>
- this version had been tested much more than any other OpenVMS version<br>
&nbsp;&nbsp;earlier<br>
<br>
Version 5.7 (2000 Jun 24)<br>
- New CTAGS v5.0 in distribution<br>
- Documentation updated<br>
<br>
Version 5.6 (2000 Jan 17)<br>
- VMS filename related changes:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- version handling (open everything, save to new version)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- correct file extension matching for syntax (version problem)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- handle &lt;,&gt; characters and passwords in directory definition<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- handle internode/remote invocation and editing with passwords<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- OpenVMS files will be treated case insensitive from now<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- corrected response of expand(&quot;%:.&quot;) etc path related functions<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(in one word: VMS directory handling internally)<br>
- version command<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- corrected (+,-) information data<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- added compiler and OS version<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- added user and host information<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- resolving $VIM and $VIMRUNTIME logicals<br>
- VMS port is in MAX_FEAT (maximum features) club with Unix, Win32 and OS/2.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- enabled farsi, rightleft etc. features<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- undo level raised up to 1000<br>
- Updated OS_VMS.MMS file.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- maximum features ON is default<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- Vim is compilable with +perl, +python and +tcl features.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- improved MMK compatibility<br>
- Created MAKEFILE_VMS.MMS, makefile for testing Vim during development.<br>
- Defined DEC terminal VT320<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- compatibility for VT3*0, VT2*0 and VT1*0 - ANSI terminals<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;backwards, but not VT340 and newer with colour capability.<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- VT320 is default terminal for OpenVMS<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- these new terminals are also fast ttys (default for OpenVMS).<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;- allowed dec_mouse ttym<br>
- Updated files vimrc and gvimrc with VMS specific suggestions.<br>
- OS_VMS.TXT updated with new features.<br>
<br>
Version 5.5 (1999 Dec 3)<br>
- Popup menu line crash corrected.<br>
- Handle full file names with version numbers.<br>
- Directory handling (CD command etc.)<br>
- Corrected file name conversion VMS to Unix and v.v.<br>
- Correct response of expand wildcards<br>
- Recovery is working from this version under VMS as well.<br>
- Improved terminal and signal handing.<br>
- Improved OS_VMS.TXT<br>
<br>
Version 5.4 (1999 Sep 9)<br>
- Cut and paste mismatch corrected.<br>
- Motif directories during open and save are corrected.<br>
<br>
Version 5.3 (1998 Oct 12)<br>
- Minor changes in the code<br>
- Standard distribution with +GUI option<br>
<br>
Version 5.1 (1998 Apr 21)<br>
- Syntax and DEC C changes in the code<br>
- Fixing problems with the /doc subdirectory<br>
- Improve OS_VMS.MMS<br>
<br>
Version 4.5 (1996 Dec 16)<br>
- First VMS port by Henk Elbers &lt;henk@xs4all.nl&gt;<br>
<br>
<span class="PreProc">==============================================================================</span><br>
<br>
10. Authors&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class="Constant" href="os_vms.html#vms-authors" name="vms-authors">vms-authors</a><br>
<br>
OpenVMS documentation and executables are maintained by:<br>
Zoltan Arpadffy &lt;arpadffy@polarhome.com&gt;<br>
OpenVMS Vim page:&nbsp;<span class="Constant"><a href="http://www.polarhome.com/vim/">http://www.polarhome.com/vim/</a></span><br>
<br>
This document uses parts and remarks from earlier authors and contributors<br>
of OS_VMS.TXT:<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Charles E. Campbell, Jr. &lt;cec@gryphon.gsfc.nasa.gov&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bruce Hunsaker &lt;BNHunsaker@chq.byu.edu&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sandor Kopanyi &lt;sandor.kopanyi@mailbox.hu&gt;<br>
<br>
&nbsp;vim:tw=78:ts=8:ft=help:norl:<br>
</div>

</article>

<footer>
<a href="#top">Return to the top</a> - <a href="index.html">Return to main</a>
<span class="EnglishJapaneseLink">
  <span class="CurrentLanguage">English</span>
</span>
<br />
<div style="text-align:right;">
Hosted by <a href="https://github.com/vim-jp/vimdoc-en">vimdoc-en project</a><br />
If you met any problem, please report it to <a href="https://github.com/vim-jp/vimdoc-en/issues">issue</a>.<br />
</div>
</footer>

<!--<script src="js/check-referrer.js" type="text/javascript"></script>-->

</body>
</html>
<!-- vim:set ts=8 sts=2 sw=2 tw=0 et: -->
